babel-loader
作用:
js转换。
API:https://github.com/babel/babel-loader
安装:
npm install babel-loader --save-dev
使用:
用于编译ES或T成js,以便在浏览器上可以运行。
babel-loader只是起到了webpack => babel的引导过程,实际应用还要安装以下依赖:
npm install babel-core babel-preset-env --save-dev
babel-preset-env是作为babel-preset-latest(es2015,es2016、es2017的集合)的替代,无参数配置则等价于latest,现在也是官方推荐方式。
{
loader:'babel-loader',
options:{
presets:['env',{}] //此处是babel-preset-env的简写。对象里做对应的参数配置
}
}
详细配置说明:https://babeljs.io/docs/plugins/preset-env
浏览器支持配置:https://github.com/ai/browserslist(一般还需要引入polyfill)
总结:
babel是一个很复杂的组件,涉及到很多兼容性的问题(如果不引入polyfill的话)。babel-plugin-transform-runtime没有想象中那么好用,所以最直接暴力的方式就是全局引入polyfill,presets配置env。